package com.jx.driving.domain;

import java.io.Serializable;

import com.jx.driving.protocol.terminal.annotation.ByteAnnotation;
import com.jx.driving.protocol.terminal.annotation.TerminalAnnotation;
import com.jx.driving.protocol.terminal.annotation.WordAnnotation;

/**
 * 终端参数
 * 
 * @author shenliuyang
 *
 *         2016年8月15日下午4:00:30
 */
@TerminalAnnotation
public class TerminalParameter implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 7954045782107929602L;
	@ByteAnnotation(order = 1)
	private short no;// 查询结果0，成功；1，失败
	@ByteAnnotation(order = 2)
	private short takePhotoInterval;// 定时拍照间隔
	@ByteAnnotation(order = 3)
	private short imageUplaodSetting;// 照片上传设置
	@ByteAnnotation(order = 4)
	private short attachementable;// 是否读取附加消息
	@ByteAnnotation(order = 5)
	private short flameoutStopTimingDelay;// 熄火后停 止学 时计 时的延时时间
	@WordAnnotation(order = 6)
	private int flameoutGnssUplaodInterval;// 熄火后 GNSS 数据包上传间隔
	@WordAnnotation(order = 7)
	private int flameoutCoachLoginoutInterval;// 熄火后教 练自 动登 出的延时时间
	@WordAnnotation(order = 8)
	private int resign;// 重新验证身份时间
	@ByteAnnotation(order = 9)
	private short coachCross;// 教练跨校教学
	@ByteAnnotation(order = 10)
	private short userCross;// 学员跨校学习
	@WordAnnotation(order = 11)
	private int clientResponseInterval;//响应平台同类消息时间间隔 ,单位：s，在该时间间隔内对平台发送的多次相同ID消息可拒绝执行回复失败

	public short getNo() {
		return no;
	}

	public void setNo(short no) {
		this.no = no;
	}

	public short getTakePhotoInterval() {
		return takePhotoInterval;
	}

	public void setTakePhotoInterval(short takePhotoInterval) {
		this.takePhotoInterval = takePhotoInterval;
	}

	public short getImageUplaodSetting() {
		return imageUplaodSetting;
	}

	public void setImageUplaodSetting(short imageUplaodSetting) {
		this.imageUplaodSetting = imageUplaodSetting;
	}

	public short getAttachementable() {
		return attachementable;
	}

	public void setAttachementable(short attachementable) {
		this.attachementable = attachementable;
	}

	public short getFlameoutStopTimingDelay() {
		return flameoutStopTimingDelay;
	}

	public void setFlameoutStopTimingDelay(short flameoutStopTimingDelay) {
		this.flameoutStopTimingDelay = flameoutStopTimingDelay;
	}

	public int getFlameoutGnssUplaodInterval() {
		return flameoutGnssUplaodInterval;
	}

	public void setFlameoutGnssUplaodInterval(int flameoutGnssUplaodInterval) {
		this.flameoutGnssUplaodInterval = flameoutGnssUplaodInterval;
	}

	public int getFlameoutCoachLoginoutInterval() {
		return flameoutCoachLoginoutInterval;
	}

	public void setFlameoutCoachLoginoutInterval(int flameoutCoachLoginoutInterval) {
		this.flameoutCoachLoginoutInterval = flameoutCoachLoginoutInterval;
	}

	public int getResign() {
		return resign;
	}

	public void setResign(int resign) {
		this.resign = resign;
	}

	public short getCoachCross() {
		return coachCross;
	}

	public void setCoachCross(short coachCross) {
		this.coachCross = coachCross;
	}

	public short getUserCross() {
		return userCross;
	}

	public void setUserCross(short userCross) {
		this.userCross = userCross;
	}

	public int getClientResponseInterval() {
		return clientResponseInterval;
	}

	public void setClientResponseInterval(int clientResponseInterval) {
		this.clientResponseInterval = clientResponseInterval;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("TerminalParameter [no=").append(no).append(", takePhotoInterval=").append(takePhotoInterval)
				.append(", imageUplaodSetting=").append(imageUplaodSetting).append(", attachementable=")
				.append(attachementable).append(", flameoutStopTimingDelay=").append(flameoutStopTimingDelay)
				.append(", flameoutGnssUplaodInterval=").append(flameoutGnssUplaodInterval)
				.append(", flameoutCoachLoginoutInterval=").append(flameoutCoachLoginoutInterval).append(", resign=")
				.append(resign).append(", coachCross=").append(coachCross).append(", userCross=").append(userCross)
				.append(", clientResponseInterval=").append(clientResponseInterval).append("]");
		return builder.toString();
	}

}
